package adapters

import (
	"context"
	"ddd-practice/domain"
)

var _ domain.Repository = (*ProductMockRepository)(nil)

type ProductMockRepository struct {
}

func NewProductMockRepository() ProductMockRepository {
	return ProductMockRepository{}
}

func (p ProductMockRepository) PutOnShelves(ctx context.Context, product *domain.Product) error {

	return nil
}

func (p ProductMockRepository) GetProduct(ctx context.Context, id int) (*domain.Product, error) {

	return &domain.Product{}, nil
}

func (p ProductMockRepository) GetPage(ctx context.Context, pageIndex int, pageSize int) (list *[]domain.Product, count int, err error) {
	productPage := make([]domain.Product, 0, pageSize)
	list = &productPage

	return list, 0, nil
}

func (p ProductMockRepository) UpdateProduct(ctx context.Context, product *domain.Product) error {

	return nil
}

func (p ProductMockRepository) PutOffShelves(ctx context.Context, id int) error {
	return nil
}
